// 按需导入第三方包的方法observable, action
import { observable, action } from 'mobx-miniprogram'
// 创建 Store实例对象,并将其导出
export const store = observable({
  // 数据字段state
  numA: 1,
  numB: 2,
  activeIndex: 0,
  // 计算属性getters
  // 在计算属性的方法前，必须加 get修饰符，代表sum的值是只读的，无法进行修改
  // 计算属性sum 依赖于numA和numB的值，因此sum函数的返回值就是最终的值
  get sum() {
    return this.numA + this.numB
  },
  // 定义actions方法, 用来修改 store中的数据
  updateNum1: action(function (step) {
    this.numA += step
  }),
  updateNum2: action(function (step) {
    this.numB += step
  }),
  updateActiveIndex: action(function (index) {
    this.activeIndex = index
  })
})